<! DOCTYPE html >
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <table id="tab1" border="1" width="800" align="center">
            <tr style="background-color: #999999;">
                <th><input type="checkbox" onclick="selectAll(this)"></th>
                <th>分类ID</th>
                <th>分类名称</th>
                <th>分类描述</th>
                <th>操作</th>
            </tr>
            <tr>
                <td><input type="checkbox" class="itemSelect"></td>
                <td>1</td>
                <td>手机数码</td>
                <td>手机数码类商品</td>
                <td><a href="">修改</a>| <a href="">删除</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" class="itemSelect"></td>
                <td>2</td>
                <td>电脑办公</td>
                <td>电脑办公类商品</td>
                <td><a href="">修改</a>| <a href="">删除</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" class="itemSelect"></td>
                <td>3</td>
                <td>鞋靴箱包</td>
                <td>鞋靴箱包类商品</td>
                <td><a href="">修改</a>| <a href="">删除</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" class="itemSelect"></td>
                <td>4</td>
                <td>家居饰品</td>
                <td>家居饰品类商品</td>
                <td><a href="">修改</a>| <a href="">删除</a></td>
            </tr>
        </table>
    </body>
</html>

<script type="text/javascript">

    /**
     * @param obj   传递的this对象   this表示当前标签对象   this对象就是指<input>标签 （行首的checkbox）
     */
    function selectAll(obj) {

        //获取行首的checkbox元素的选中状态
        var checked = obj.checked; //结果只有两种：true、false


        //利用class属性，获取所有的复选框
        var checkboxObjs = document.getElementsByClassName("itemSelect");

        //遍历
        for (let i = 0; i < checkboxObjs.length; i++) {
            checkboxObjs[i].checked = checked;
        }
    }


</script>